home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / geos-archive / GEOS-D64 / GEOS Mega ASM (19xx)(-).d64 / list6-5 < prev    next >
Text File  |  2019-04-13  |  5KB  |  283 lines

  1. ; Desk Accessory zum Auslesen von Syteminformationen
  2. if     .p
  3.      t     "TopSym"
  4.      t     "TopMac"
  5. endif
  6.      f     DESK_ACC
  7.      o     $5500
  8.      q     $7f39
  9.  
  10. :Left     = 48
  11. :Right     = 272
  12. :Top     = 16
  13. :Bottom     = 152
  14.  
  15. :Start     jsr     i_ImprintRectangle
  16.      b     0,199
  17.      w     0,319
  18.  
  19.      LoadW     r1,COLOR_MATRIX
  20.      LoadW     r0,1000
  21.      MoveB     screencolors,r2L
  22.      jsr     FillRam
  23.  
  24.      LoadB     dispBufferOn,ST_WR_FORE!ST_WR_BACK
  25.      LoadW     r0,GrafikTab
  26.      jsr     GraphicsString
  27.      LoadW     r0,MenuTab
  28.      jsr     DoMenu
  29.      LoadW     r0,IconTab
  30.      jsr     DoIcons
  31.  
  32.      LoadW     leftMargin,Left+10
  33.      jsr     i_PutString
  34.      w     Left+10
  35.      b     Top+32
  36.      b     "aktueller Diskname:",CR
  37.      b     "Druckername:",CR
  38.      b     "Zeit:",NULL
  39.  
  40.      LoadW     r8,curDirHead+144
  41.      LoadW     r9,DiskName
  42.      ldx     #r8L     ; Wertzeichen beachten !!
  43.      ldy     #r9L
  44.      lda     #16
  45.      jsr     CopyFString
  46.  
  47.      LoadW     r0,DiskName
  48.      LoadW     r11,Left+100
  49.      LoadB     r1H,Top+32
  50.      jsr     PutString
  51.      LoadW     r0,PrntFileName
  52.      LoadW     r11,Left+100
  53.      LoadB     r1H,Top+32+10
  54.      jsr     PutString
  55.  
  56.      LoadW     r0,ProcessTab
  57.      lda     #1     ; 1 Proze~
  58.      jsr     InitProcesses
  59.      ldx     #0
  60.      jsr     RestartProcess
  61.  
  62.  
  63.      ldx     #0
  64.      jsr     EnableProcess
  65.  
  66.      LoadW     keyVector,MyKeys
  67.  
  68.      rts
  69. :GrafikTab
  70.      b     MOVEPENTO
  71.      w     Left+8
  72.      b     Top+8
  73.      b     NEWPATTERN
  74.      b     1
  75.      b     RECTANGLETO
  76.      w     Right+8
  77.      b     Bottom+8
  78.      b     MOVEPENTO
  79.      w     Left
  80.      b     Top
  81.      b     NEWPATTERN
  82.      b     9
  83.      b     RECTANGLETO
  84.      w     Right
  85.      b     Top+16
  86.      b     NEWPATTERN
  87.      b     0
  88.      b     RECTANGLETO
  89.      w     Left
  90.      b     Bottom
  91.      b     FRAME_RECTO
  92.      w     Right
  93.      b     Top
  94.      b     NULL
  95.  
  96.  
  97. :MenuTab     b     Top,Top+14
  98.      w     Left,Left+32
  99.      b     HORIZONTAL!1
  100.      w     MenuText
  101.      b     SUB_MENU
  102.      w     UnterMenu
  103.  
  104. :MenuText     b     "Men}",0
  105.  
  106. :UnterMenu     b     Top+14,Top+28
  107.      w     Left,Left+32
  108.      b     VERTICAL!1
  109.      w     InfoText
  110.      b     MENU_ACTION
  111.      w     DoInfo
  112.  
  113. :InfoText     b     "Info",0
  114.  
  115. :IconTab     b     1     ; 1 Icon
  116.      w     0     ; kein Setzen der Maus
  117.      b     0
  118.  
  119.      w     komBitmap     ; Zeiger auf die Bitmap
  120.      b     Right/8-2     ; x-Koordinate in CARDS
  121.      b     Top     ; y-Koordinate in Pixel
  122.      b     2     ; Breite des Icon
  123.      b     14     ; H|he des Icon
  124.      w     EndDA     ; Adresse, die bei Anwahl
  125.                ; angesprungen wird
  126.  
  127. :komBitmap     b     $80+28     ; Kopfbyte + 28 Folgebytes
  128.      b     %11111111,%11111111
  129.      b     %10000000,%00000001
  130.      b     %10000000,%00000001
  131.      b     %10000000,%00000001
  132.      b     %10000000,%00000001
  133.      b     %10000000,%00000001
  134.      b     %10000111,%11100001
  135.      b     %10000111,%11100001
  136.      b     %10000000,%00000001
  137.      b     %10000000,%00000001
  138.      b     %10000000,%00000001
  139.      b     %10000000,%00000001
  140.      b     %10000000,%00000001
  141.      b     %11111111,%11111111
  142.  
  143.  
  144. :EndDA     LoadW     appMain,RstrAppl
  145.      rts
  146.  
  147. :DoInfo     jsr     GotoFirstMenu
  148. :DoBox     LoadW     r0,dlgBoxRamBuf
  149.      LoadW     r1,merkBuffer
  150.      LoadW     r2,417
  151.      jsr     MoveData
  152.  
  153.      LoadW     r0,DialTab
  154.      jsr     DoDlgBox
  155.  
  156.      jsr     i_MoveData
  157.      w     merkBuffer
  158.      w     dlgBoxRamBuf
  159.      w     417
  160.  
  161.      rts
  162.  
  163. :DialTab     b     $81
  164.      b     OK
  165.      b     16,50
  166.      b     NULL
  167.  
  168. :merkBuffer
  169.      s     420
  170.  
  171.  
  172. :DiskName
  173.      s     17
  174.  
  175. :ProcessTab
  176.      w     DoProcess1
  177.      w     20
  178.  
  179. :DoProcess1
  180.      php
  181.      sei          ; interrupt sperren
  182.  
  183.      MoveB     seconds,MySek
  184.      MoveB     minutes,MyMin
  185.      MoveB     hour,MyStd
  186.      plp
  187.  
  188.      lda     MySek
  189.      sta     r0L
  190.      jsr     Div10
  191.      clc
  192.      lda     r0L
  193.      adc     #$30
  194.      sta     secZehner
  195.      lda     r8L
  196.      adc     #$30
  197.      sta     secEiner
  198.  
  199.      lda     MyMin
  200.      sta     r0L
  201.      jsr     Div10
  202.      clc
  203.      lda     r0L
  204.      adc     #$30
  205.      sta     minZehner
  206.      lda     r8L
  207.      adc     #$30
  208.      sta     minEiner
  209.  
  210.      lda     MyStd
  211.      sta     r0L
  212.      jsr     Div10
  213.      clc
  214.      lda     r0L
  215.      adc     #$30
  216.      sta     stdZehner
  217.      lda     r8L
  218.      adc     #$30
  219.      sta     stdEiner
  220.  
  221.      LoadW     r0,time
  222.      LoadW     r11,Left+100
  223.      LoadB     r1H,Top+32+20
  224.      jsr     PutString
  225.  
  226.      rts
  227.  
  228. :Div10     LoadB     r0H,0
  229.      ldx     #r0L
  230.      LoadW     r1,10
  231.      ldy     #r1L
  232.      jsr     Ddiv
  233.      rts
  234.      
  235. :time
  236. :stdZehner     b     "0"
  237. :stdEiner  b     "0:"
  238. :minZehner     b     "0"
  239. :minEiner     b     "0:"
  240. :secZehner     b     "0"
  241. :secEiner     b     "0  ",NULL
  242.  
  243. :MySek     b     0
  244. :MyMin     b     0
  245. :MyStd     b     0
  246.  
  247. :MyKeys
  248.      lda     keyData
  249.      ldy     #3     ; 4 Tasten abfragen
  250. ::10     cmp     Tasten,y
  251.      beq     :20
  252.      dey
  253.      bpl     :10
  254.      rts
  255.  
  256. ::20
  257.      lda     HighTast,y
  258.      pha
  259.      lda     LowTast,y
  260.      pha
  261.      rts
  262.  
  263. :Tasten     b     233     ; <cbm>+<i>
  264.      b     229     ; <cbm>+<q>
  265.      b     KEY_F1     ; <F1>
  266.      b     KEY_F3     ; <F3>
  267.  
  268. :HighTast     b     >DoBox-1,>EndDA-1
  269.      b     >StopClock-1,>RunClock-1
  270.  
  271. :LowTast     b     <DoBox-1,<EndDA-1
  272.      b     <StopClock-1,<RunClock-1
  273.  
  274. :StopClock
  275.      ldx     #0     ; erster Proze~!
  276.      jsr     FreezeProcess
  277.      rts
  278.  
  279. :RunClock
  280.      ldx     #0
  281.      jsr     UnfreezeProcess
  282.      rts